package com.bkgy.modularbx.processrule.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bkgy.commom.model.QueryDTO;
import com.bkgy.modularbx.processrule.domain.ProcessRuleLibrary;
import com.bkgy.modularbx.processrule.dto.ProcessRuleLibraryDto;
import com.bkgy.sys.common.entity.ResultData;

/**
* @author dell
* @description 针对表【TB_DSJ_PROCESS_RULE_LIBRARY(工艺规则库表)】的数据库操作Service
* @createDate 2025-04-21 10:35:49
*/
public interface ProcessRuleLibraryService extends IService<ProcessRuleLibrary> {

    /**
     * 新增工艺规则
     * @param processRuleLibrary 工艺规则信息
     * @return 操作结果
     */
    ResultData<Void> addProcessRule(ProcessRuleLibrary processRuleLibrary);

    /**
     * 分页查询工艺规则
     * @param queryDTO 查询条件和分页信息
     * @return 分页结果
     */
    ResultData<Page<ProcessRuleLibrary>> pageProcessRule(QueryDTO<ProcessRuleLibraryDto> queryDTO);

    /**
     * 删除工艺规则
     * @param processRuleVariable
     * @return 操作结果
     */
    ResultData<Void> deleteProcessRule(String processRuleVariable);

    /**
     * 更新工艺规则
     * @param processRuleLibrary 工艺规则信息
     * @return 操作结果
     */
    ResultData<Void> updateProcessRule(ProcessRuleLibrary processRuleLibrary);

    /**
     * 根据主键查询工艺规则详情
     * @param processRuleVariable 工艺规则变量（主键）
     * @return 工艺规则详情
     */
    ResultData<ProcessRuleLibrary> findById(String processRuleVariable);

}
